# encoding:utf8

from flask import Flask, render_template, request, session, url_for, redirect, g
import os

app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)


@app.route('/')
def hello_world():
    print('index')
    return 'index'


# 每一次请求都会执行，用于执行一些附加逻辑的代码
@app.before_request
def before_request_():
    if session.get('username'):
        # g对象是一个全局对象
        # 使用g，比如我们可以在第一次就通过获取session中的userId来从数据库查询出用户模型赋值给g，以后直接使用，而不必每次都查找数据库
        g.username = session.get('username')
    print('before')


@app.route('/login/', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        if request.form.get('username') == 'lq' and request.form.get('password') == '111111':
            session['username'] = request.form.get('username')
            return '登录成功'
        else:
            return '用户名或密码错误'


@app.route('/edit/')
def edit():
    if hasattr(g, 'username'):
        return '修改成功'
    else:
        return redirect(url_for('login'))


if __name__ == '__main__':
    app.run(debug=True)
